#include <iostream>
#include <algorithm>
#include <vector>
#include <map>

using namespace std;

int n, m, q;
int x, y;
int mindex;
map<long long, long long> mp;

int main()
{
    cin >> n >> m >> q;
    for (int i = 0; i < m; i++)
    {
        cin >> x >> y;
        mp[x] += 1;
        mp[y + 1] -= 1;
    }
    long long temp = 0;
    for (auto &it : mp)
    {
        it.second += temp;
        temp = it.second;
    }
    for (int i = 0; i < q; i++)
    {
        cin >> mindex;
        if (mp.count(mindex) != 0)
        {
            cout << mp[mindex] << endl;
        }
        else
        {
            auto iter = mp.upper_bound(mindex);
            iter--;
            cout << iter->second << endl;
        }
    }
    // system("pause");
    return 0;
}